package com.syh.jn.scm.service.api.supplier.stock;

import com.syh.jn.scm.dto.supplier.stock.*;
import com.syh.jn.scm.service.core.BaseService;

/**
 * 报溢接口
 */
public interface StockSpillService extends BaseService<StockSpillSto, StockSpillMto, StockSpillVo, Long> {
  /**
   * 确认报溢单
   *
   * @param id
   */
  void enabled(Long id);

  /**
   * 未确认报溢单
   *
   * @param id
   */
  void disabled(Long id);

  /**
   * 根据id获取报溢聚合体
   *
   * @param id
   * @return
   */
  StockSpillVo getVo(Long id);

  /**
   * 获取明细对象
   *
   * @param id      明细id
   * @param goodsId 明细中商品id
   * @return
   */
  StockSpillItemVo getItemByIdAndGoodsId(Long id, Long goodsId);

  /**
   * 取消订单
   *
   * @param id 自增id
   * @return
   */
  void cancel(Long id);

  /**
   * 解锁
   *
   * @param id 自增id
   */
  void unLock(Long id);
}
